МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра САПР
Звіт
до лабораторної роботи №4
на тему:
Програмування аплетів в Java. Обробка подій в Java
Виконав:
Львів 2008
1. МЕТА РОБОТИ
Метою роботи є придбання навиків роботи з подіями при програмуванні на мові Java, а також створення аплетів на мові Java.
2.ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ
2.1. АПЛЕТИ JAVA
2.1.1. Запуск аплетів
Аплети Java, на відміну від додатків, не є самостійні програми, а вбудовуються в Web-сторінки і виконуються під управлінням Web-браузера.
Програма-аплет запускається в документі HTML в контейнері <applet> ... </applet>.
У дескрипторі <applet> можна задати наступні атрибути:
У контейнері <applet> . </applet> можна також помістити текст, який буде виведений на Web-сторінці, якщо Web-браузер користувача не підтримує роботу з аплетами Java.
Результат роботи аплета Java можна проглянути або за допомогою Web-браузера, або за допомогою програми appletviewer, що входить до складу SDK (як параметр для цієї програми задається ім'я файлу HTML, аплета, що містить виклик).
2.1.2. Виконання аплетів
Оскільки аплети є розширенням класу Applet, оголошення первинного класу аплета повинне мати наступний вигляд:
модифікатори class ідентифікатор-аплета extends Applet
{
Тіло аплета
}
Оскільки оголошення класу Applet знаходиться в пакеті java.applet, який автоматично не підключається, в програмі повинен бути заданий оператор import для цього пакету, тобто оператор
import java.applet.*;
Оскільки аплет може виконуватися на інших комп'ютерах в мережі, йому, в цілях безпеки, віртуальною машиною Java (JVM) забороняється виконувати багато операцій, наприклад, перегляд і читання вмісту каталогів і файлів на комп'ютері, а також зміни вмісту існуючих файлів і запис нових файлів.
Життєвий цикл аплета містить наступні чотири етапи:
етап ініціалізації (initialization stage).
етап запуску (start stage).
етап останову (stop stage).
етап знищення (destroy stage).
На етапі ініціалізації створюється і завантажується об'єкт аплета. У цей момент зручно створювати об'єкти для аплета, а також ініціалізувати значення, необхідні при роботі аплета. Впродовж життєвого циклу ініціалізація виконується тільки один раз. Можна втрутитися в процес ініціалізації, перевизначивши метод init() класу Applet.
На етапі запуску система починає виконання аплета. Етап запуску може слідувати відразу ж після етапу ініціалізації або після повторного запуску аплета. Звичайне це відбувається тоді, коли користувач, працюючи з Web-браузером, повертається до сторінки, що містить аплет, після проглядання якої-небудь іншої сторінки. На відміну від етапу ініціалізації, етап запуску впродовж життєвого циклу може виконуватися безліч разів. Для того, щоб виконувався власний код запуску, необхідно перевизначити метод start() класу Applet.
Етап останову є протилежністю етапу запуску. Інтерпретатор виконує фазу останову, коли аплет більше не видно на екрані, наприклад, коли користувач звертається до іншої Web-сторінки. За умовчанням на цьому етапі аплет продовжує роботу у фоновому режимі. Якщо потрібно виконувати на етапі останову інші дії, необхідно перевизначити метод stop() класу Applet.
Етап знищення за призначенням протилежний етапу ініціалізації і починається тоді, коли система збирається видалити аплет з пам'яті. Подібно до фази ініціалізації, етап знищення виконується тільки один раз. Якщо аплет використовував ресурси, які перед знищенням аплета необхідно звільнити, то це потрібно робити на етапі знищення. Цю фазу можна змінити, перевизначивши метод destroy() класу Applet.
Можна вважати також, що між етапами останову і запуску існує етап промальовування (paint stage). Ця фаза виконується кожного разу, коли область відображення аплета повинна проектуватися на екран, тобто відразу ж після етапу запуску аплета, а також всякий раз, коли зображення аплета відновлюється або змінюється. Це відбувається, коли вікно аплета...